package org.jeecg.modules.scm.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.scm.entity.ScmInvoice;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

/**
 * @Description: scm_invoice
 * @Author: jeecg-boot
 * @Date:   2021-11-03
 * @Version: V1.0
 */
public interface IScmInvoiceService extends IService<ScmInvoice> {

    /**
     * 上传项目附件
     *
     * @param file   文件
     * @return
     */
    String uploadAccessory(String id,MultipartFile file);

    /**
     * 模糊查询
     */
    List<ScmInvoice> fuzzyQuery(String type, String value, String fields);

    /**
     * id批量查询
     */
    public List<ScmInvoice> queryBatch(String ids);

    /**
     * 根据ids查询指定字段列表
     *
     * @param ids
     * @return
     */
    List<ScmInvoice> queryByIds(List<Integer> ids);

    /**
     * 查询发票号列表
     *
     * @param ids 发票ids
     * @return key:发票ID value:发票号码
     */
    Map<Integer, String> queryInvoiceNos(List<Integer> ids);

    /**
     * ocr
     */
    public Map<String, Object> OCR(MultipartFile file);

    /**
     * 更新状态
     *
     * @param id
     * @return
     */
    Boolean updateStateByNo(String invoiceNo);
}
